Measuring Digital Marketing Performance

GA4 + GTM + GSC • UTMs • Key Events

Jarrod Griffin

College of Business Administration - Cal Poly Pomona

2/16/2026

Greetings and Introductions

  • Jae Jung, Ph.D., Professor of Marketing, Director of CCIDM
  • Jarrod Griffin, Master’s Student - M.S. Digital Marketing, Graduate Fellow, CCIDM

Introduction & Orientation

  • The Objective: Moving from marketing theory to Marketing Operations.
  • The Career Impact: Employers need people who can prove their strategies work. By the end of this, you will have the technical skills to gather the data that validates your marketing decisions.
  • The Goal: Gaining the ability to not just plan campaigns, but measure and optimize them.

Agenda

  • Introduction & Orientation (5 min)
  • Conceptual Framework (10 Min): The Data Ecosystem (GA4, GTM, GSC)
  • Technical Implementation (25 Min): Setting up the environment
  • Search Visibility (15 Min): Google Search Console integration
  • Campaign Tracking (15 Min): Mastering UTM parameters
  • Performance Measurement (10 Min): Defining and tracking Key Events

Learning Outcomes:

After taking this workshop, participants should be able to:

  1. Explain how Google Analytics 4 (GA4), Google Tag Manager (GTM), and Google Search Console (GSC) work together to measure and improve digital marketing performance.
  2. Configure Google Analytics 4 (GA4) for a website using Google Tag Manager (GTM) to ensure reliable baseline tracking.
  3. Validate and troubleshoot GA4 event tracking using GTM Preview/Debug tools to confirm accurate event collection.
  1. Configure Google Search Console (GSC) and connect to GA4 to incorporate organic search query and landing-page performance data.
  2. Build standardized UTM parameters to track marketing campaigns consistently across channels and avoid attribution errors.
  3. Set up and interpret GA4 Key Events to measure marketing outcomes.

Who Needs This Workshop?

Digital marketing roles fall into 4 categories, and each needs this data stack differently.

1. Content & Creative

(Writers, Social, Designers)

  • Focus: The “What” (Assets & Copy).
  • Why: You need UTMs to prove which specific creative drove a sale, moving you beyond “vanity metrics” (likes) to business value.

2. Technical & Performance

(SEO, PPC, Email Specialists)

  • Focus: The “How” (Algorithms & Spend).
  • Why: You live and die by ROI. You need GSC to monitor organic rank health and GTM to deploy ad tracking pixels instantly.

3. Data & Analytics

(Analysts, Data Scientists)

  • Focus: Measurement & Prediction.
  • Why: “Garbage In, Garbage Out.” You need to understand the “plumbing” (GTM) to ensure the data feeding your models (SQL/Python/R) is accurate.

4. Strategy & Leadership

(Managers, CMOs)

  • Focus: Planning & Budgeting.
  • Why: You make high-stakes budget decisions. You must enforce Standardization (UTMs) so your team’s reports are consistent and trustworthy.

Trinity of Google Data Collection (10 Min)

Google Tag Manager

“The Brain/Eyes”

Tag management system that lets you configure, deploy, and troubleshoot tracking tags from a web interface—no code changes needed. (Facebook, EventBrite, etc.)

Google Analytics 4

“The Database”

Next-gen analytics collecting event-based data from websites/apps to understand full customer journeys with privacy controls and predictive insights.

Google Search Console

“The Search Health Check”

Webmaster tool to monitor indexing, search performance, crawl errors, and optimize site visibility in Google Search results.

How they Connect

Diagram showing data flow between GTM, GA4, and GSC.

  • Install GTM on the site (not GA4 code directly)
  • GTM sends events to GA4
  • Link GSC to GA4 for organic query + landing-page reporting

Technical Implementation - GTM/GA4 (25 Min)

Goal

Connect our Quarto site to the Google Marketing Platform (GA4 + GTM).

Assumptions

To follow along, you need:

  1. A Published Website: Your site is live (e.g., Netlify, GitHub Pages).
  2. Admin Access: You have the ability to edit the source code or CMS settings.

Why this matters

We are moving from “static pages” to “measurable data” by injecting tracking codes into your live environment.

Website Construction Options

There are two main paths for building the “container” for your data ecosystem.

1. CMS

(Content Management Systems)

  • Pros: Drag-and-drop, user-friendly.
  • Examples:
    • Wix
    • WordPress
    • Squarespace
    • Weebly
    • Canva

2. Quarto Publication System

(Technical & Academic)

  • Pros: Free hosting, version control (Git), reproducible.
  • Examples:
    • Quarto Pub
    • GitHub Pages
    • Netlify

For this workshop

We will use RSMT’s website (Rising Stars Muay Thai). It is built in Quarto and is already connected/setup for us to analyze.

https://www.risingstarsmuaythai.com

The GTM/GA4 Setup Flow

Before we touch the code/website, we need the containers.

  1. Create GTM Account: Get your container ID (GTM-XXXXXX).
  2. Install GTM Code: Place the snippets on your website (<head> and <body>).
  3. Create GA4 Property: Get your Measurement ID (G-XXXXXXXX).
  4. Connect in GTM: Create a “Google Tag” inside GTM and paste your GA4 ID.
  5. Publish: Push the changes in GTM to make GA4 live.

Create GTM Container

Why GTM?

  • The Box Metaphor: GTM is the empty box; GA4 is just one tool you put inside it.
  • Efficiency: You install the GTM code once. Future changes (Facebook Pixel, LinkedIn Insight, GA4 Events) happen inside GTM, not your site code.

The Setup

  1. Log in: tagmanager.google.com.
  2. Create Account: Enter Company Name.
  3. Create Container: Enter Domain (e.g., mysite.com).
  4. Select Platform: Choose Web.
  5. Install: Get the <head> and <body> scripts.

Create GA4 Property

The Setup

  1. Go to Analytics > Admin.
  2. Click Create Account.
  3. Follow the wizard to create your Property.
  4. Save: Copy the Measurement ID (G-XXXXXXXX) for your website code.

Best Practices

  • One Property Rule: Most businesses only need 1 Property.
  • Cross-Device: Combine your Website and App data in the same property for better user tracking.
  • When to split? Only use multiple properties for different Regions (Timezones/Currencies) or Marketing Teams.

The “Big 3” Sections of GA4

We will focus on the Overview reports to get a high-level health check of the business.

1. Acquisition

(Reports > Generate Leads > Overview)

  • The Question: “Where is traffic coming from?”
  • Key Card: New Users by Channel.
  • Look For:
    • Organic Search: (SEO working?)
    • Email/Manual Source: (Are the newsletters driving sessions?)
    • Google Ads: (Paid campaign performance).

2. Engagement

(Reports > Understand web and/or app traffic > Overview)

  • The Question: “Is the site interesting?”
  • Key Metric: Average Engagement Time.
  • Look For:
    • Time: (e.g., 1m 35s). If this is low (<10s), users are leaving immediately.
    • Top Pages: Which specific pages get the most views?

3. Explore

(The Custom Report Builder)

  • The Question: “Why did they drop off?”
  • The limitation: The Overview reports tell you what happened, but not why.
  • The Solution: We use Explore to build custom funnels when the standard dashboards aren’t enough.

Connect GA4 to GTM

The Connection

  1. New Tag: Select Google Tag.
  2. ID: Paste G-XXXXXXXX.
  3. Trigger: Choose Initialization - All Pages.
  4. Save: Name it “GA4 Config”.

The Launch

  1. Submit: Click the blue button in the top right.
  2. Version: Give it a name (e.g., “Initial GA4 Launch”).
  3. Publish: This pushes your changes to the live website.

Note: Until you hit Publish, your changes are only saved in a “Draft” version.

Validation

  1. Open DebugView:
    • Go to GA4 Admin > Data Display > DebugView.
  2. Trigger Data:
    • Open your website in a new tab (or use GTM Preview Mode).
    • Click around to generate events.
  3. Verify:
    • Look for the blue icons appearing on the timeline.
    • Confirm the page_view event is listed.

Expected Outcome

If you see events populating the timeline in real-time, your connection is successful. If the timeline is empty, check if your ad blocker is on!

Search Visibility: Google Search Console (15 Min)

https://search.google.com/search-console/

Goal

  1. Verify ownership of your website with Google.
  2. Connect GSC data to your GA4 dashboard.

Why do this?

  • GA4 tells you what users do on your site (clicks, scrolls).
  • GSC tells you how users found you (keywords, rankings).
  • Together: You see the full picture of your SEO performance.

Step 1: Add Property (Choose Type)

When you click “Add Property” in GSC, you have two choices:

  • Covers: example.com, m.example.com, www.example.com, http://, https://.
  • Requires: DNS Verification (Harder).
  • Best For: Long-term business tracking.

2. URL Prefix

  • Covers: ONLY the exact URL entered (e.g., https://www.example.com).
  • Requires: File upload, HTML tag, or GA4 (Easier).
  • Best For: Quick setup or if you lack DNS access.

Step 2: Verify Ownership

Google needs proof you own the site. Choose the method that fits your access level:

Method Difficulty Best Use Case
DNS Record High Domain Property. Best for full coverage. Requires logging into GoDaddy/Namecheap.
HTML File Medium URL Prefix. You have FTP/File access to the server root.
HTML Tag Low URL Prefix. WordPress/Wix users. Copy/paste a meta tag into your header.
GA4 / GTM Lowest URL Prefix. If you already installed GA4/GTM (and have “Edit” permission), this verifies instantly!

Pro Tip

If you just set up GA4/GTM in the previous step, try the Google Analytics verification method first. It’s one click!

Campaign Tracking: UTM Parameters (15 Min)

The Blind Spot

Without UTMs, GA4 can usually tell you where a user came from (e.g., “They came from Facebook”).

But it cannot tell you:

  • How they got there (Paid Ad vs. Free Post?)
  • Why they came (Spring Sale vs. Black Friday?)

The Solution

UTM parameters are “tags” we add to the end of a link. They force GA4 to record exactly what we tell it to record. Example in GA4 > Reports > User acquisition > First user source / medium

Standard UTM Parameters

Parameter Definition Example
utm_source The “Who” (The referrer) google, newsletter, facebook
utm_medium The “How” (Marketing channel) cpc (paid), email, social
utm_campaign The “Why” (Product/Promotion) spring_sale, webinar_launch
utm_content The “What” (Specific ad/link) sidebar_link, video_ad, text_link
utm_term The Keywords (Paid Search) running+shoes, marketing+course

Standardization Protocols

Data is only useful if it is consistent.

Rule 1: Case Sensitivity

GA4 treats Email, email, and EMAIL as three completely different traffic sources.

  • Best Practice: Always use lowercase for everything.

Rule 2: Fragmentation

If five people on your team name campaigns differently, your reports will be unreadable.

  • Bad: spring-sale, Spring_Sale, springsale26
  • Good: spring_sale_2026 (Standardized)

Interactive Exercise

Goal: Create a tracking link for a LinkedIn post promoting the Spring Workshop.

  1. Open Tool: Google Campaign URL Builder
  2. Enter Values:
Parameter Value Logic
Website URL https://yoursite.com Where they go.
Campaign Source linkedin The specific site.
Campaign Medium social The marketing channel.
Campaign Name spring_workshop_2026 The strategic effort.
  1. Result: Copy the generated URL and test it.

Performance Measurement: Key Events (10 Min)

The 2025 Terminology Shift

Google has renamed metrics to align better with Google Ads.

Old Term New Term Definition
Event Event Something happened (Page view, scroll).
Conversion Key Event Something important happened (Purchase, Signup).
N/A Conversion A Key Event shared with Google Ads for bidding.

The Rule

In GA4, you measure Key Events. In Google Ads, you bid on Conversions.

Step 1: Create the Trigger (The “When”)

In Google Tag Manager:

  1. Go to Triggers > New.
  2. Trigger Type: Select Page View.
  3. Fire On: Select Some Page Views.
  4. Condition:
    • Page Path contains /thank-you
    • (Or /confirmed, /success - whatever your URL is).

Logic: We only want this to fire when a user actually lands on the confirmation page.

Step 2: Create the Tag (The “What”)

In Google Tag Manager:

  1. Go to Tags > New.
  2. Tag Type: Google Analytics: GA4 Event.
  3. Configuration:
    • Measurement ID: Paste your G-XXXXXXXX.
    • Event Name: generate_lead
    • (Note: Use standard snake_case names).
  4. Triggering: Select the “Thank You Page” trigger you just made.

Why generate_lead?

Using Google’s Recommended Event Names unlocks automatic reporting features in the dashboard.

Step 4: The Handshake (GA4)

Even if GTM sends the event, GA4 treats it as “just another event” until you tell it otherwise.

The “Immediate Fix” Method:

  1. Go to: Admin > Data Display > Events.
  2. Click: New Key Event.
  3. Name: Enter generate_lead exactly as you typed it in GTM.
  4. Save.

Why do this manually? Automatic detection can take 24 hours. Creating it manually ensures it is tracked as a Key Event immediately from the moment you publish.

Thank you

Appendix

Workshop Prep - Website

No-Install Method (Posit Cloud) - Become a website developer in 5 minutes

  1. Create Account: Log in to posit.cloud (Free Tier).
  2. Import Template:
    • Click New Project > New Project from Git Repository.
    • Paste this URL: https://github.com/CCIDM/portfolio-website-template.git
  3. Edit: Open index.qmd to customize your content.
  4. Publish:
    • Go to Terminal tab, enter quarto publish netlify. You will be prompted to login to netlify. Create account or login.